/**
 * 本质上就是给一个(ai,bi)的数组
 * 求ai+bi的最小值
 */
class Solution {
public:
    int earliestTime(vector<vector<int>>& tasks) {
        using vi = vector<int>;
        auto it = min_element(tasks.begin(), tasks.end(), [](const vi & a, const vi & b){
            if(a[0] + a[1] != b[0] + b[1]) return a[0] + a[1] < b[0] + b[1];
            if(a[1] != b[1]) return a[1] < b[1];
            return a[0] < b[0];
        });
        return accumulate(it->begin(), it->end(), 0);
    }
};